Within a Code Division Multiple Access (CDMA), and other communication system types, communicated information, either voice or data, is carried between communication resources, e.g., a radio telephone and a base station, on a communication channel. Within broadband, spread spectrum communication systems, such as CDMA based communication systems in accordance with Interim Standard IS-95B, a spreading code is used to define the communication channel.
CDMA systems have the capability of transmitting user information at variable rates. For example in voice calls the data rate of each speech frame is varied based on the speech activity. When a user is speaking, compressed speech information is typically sent at full rate. Between words and sentences the data rate is typically reduced to eighth rate. Half and quarter rates are also used for speech to quiet transitions and when data rate reductions are required, such as to allow for multiplexing of signaling information or to increase system capacity. In data services calls, full, half, quarter and eighth rate frames can be selected based on the data rate of the user requested information.
To protect against data corruption on the air interface, mobile communication systems typically employ Forward Error Correction techniques. In the base site to mobile subscriber unit direction, deemed the forward link, IS-95 includes the addition of Cyclic Redundancy Check (CRC) bits, convolutional encoding, data repetition and interleaving. Data repetition is used on subrate frames (half, quarter and eighth rate) after convolutional encoding resulting in a constant data rate on the air interface.
In CDMA communication systems the receiver does not know apriori the data rate of a received frame. The receiver has to apply the decoding mechanism for each of the allowable frame rates, and look at certain characteristics of the received data frames to determine the probable frame rate that the frame was transmitted at. Characteristics that are usually employed are Symbol Error Rate (SER), CRC verification and Viterbi decoder Quality bits. SER is an estimate of the number of symbol errors in the convolutionally coded data that is obtained by re-encoding the information sequence recovered by convolutional decoding and accumulating the number of re-encoded channel symbols found to be different from the received symbols. Some of the frame rates, namely full and half rate for IS-95, are protected by a CRC codeword. These are generated by the transmitter by performing a type of degenerate cyclic coding on the data. The resulting CRC is convolutionally encoded and transmitted with the data. The receiver also generates the CRC of the received convolutionally decoded data, and compares it with the CRC appended by the transmitter. Viterbi decoders are typically used for convolutional decoding. In addition to the decoded data sequence they sometimes provide a Quality bit indication that indicate whether a decoded sequence deviated excessively from a valid data sequence.
The decision as to what rate was employed by the transmitter is typically performed by the receiver's rate determiner utilizing a Rate Determination Algorithm (RDA). The determiner uses the decoding characteristics from each of the decoders to determine what rate the received frame was transmitted at and/or whether the frame is useable. If the frame contains too many bit errors or its rate cannot be determined the frame is declared an erasure. A RDA will typically have a series of rules that it follows to determine the rate. For example some such rules could be
IF CRCfull == TRUE AND SERfull <= SERfullthresholdTHEN FRAME_RATE = FULLIF CRCfull == FALSE AND SERfull > SERfullthresholdAND CRChalf == FALSE AND SERhalf > SERhalfthresholdAND SEReighth < SEReighththresholdTHEN FRAME_RATE = EIGHTH
Although RDAs typically do a good job of distinguishing between frame rates they are still subject to falsing. For example, a frame that was transmitted as an eighth rate frame can be incorrectly interpreted by the receiver as a full rate frame. The effects of these mis-determined rates can be severe, sometimes resulting in severe audio artifacts in voice calls and a reduction in data throughput for data calls. The falsing rate has been found to be dependant on many variable factors including the content of the frame being transmitted, interference conditions on the air interface and the performance of the receivers determiner. The FEC protocols used in IS-95 and known in the art have also been found to be non-optimal in providing adequate code distance between a transmitted subrate frame and the nearest possible full rate frame. For example, when presented with silence, the Enhanced Variable Rate Codec (EVRC) used in CDMA systems has been observed to converge on the 16 bit eighth rate frame 0740H, and repeat this frame over and over. Simulations of the IS-95 FEC scheme shows that this eighth rate when passed through the eighth rate convolutional encoder and data repeator, could be decoded by a full rate decoder with a very low SER. When the encoded frame is punctured by power control bits and suffers a few bit errors on the air interface it has been observed that the CRC can also pass. As shown by the determiner rules above, these conditions of a CRC pass and low SER are typically sufficient for the received frame to be declared a good full rate frame.
The severity of the resulting audio effects depend primarily on the contents of the received false full rate frame and whether they correspond to high audio gains, high frequencies etc after speech decoding. However, error mitigation techniques that are used to reduce the audio effects of air interface erasures have been found to also negatively affect the audio artifact.
Thus, there is a need for a method and apparatus for reducing rate determination errors and their audio effects in a communication system.